The invention relates to a method and an equipment for prioritizing traffic in an ATM network.
ATM (Asynchronous Transfer Mode) is a new connection-oriented packet-switching technique which the international telecommunication standardization organization ITU T has chosen to be the target solution of a broadband integrated services digital network (B-ISDN). The problems of conventional packet networks have been eliminated in the ATM network by starting to use short packets of a standard length (53 bytes) known as cells.
FIG. 1a shows the structure of one cell to be transmitted in an ATM network. Each cell transmitted in the network contains a payload part of 48 bytes and a header of 5 bytes in length. However the more exact structure of, the header (the contents of the header) depends on which part of the ATM network is being used at the time. The ATM network architecture comprises a group of interfaces exactly specified in the standards, and the header structure used in an ATM cell depends on the interface (that is, the part of the network) in question.
FIG. 1b shows the structure of the header of a cell at a UNI interface (User-to-Network Interface) of the ATM network that is an interface between an ATM terminal equipment (such as a computer, a router or a telephone exchange) and an ATM node. FIG. 1c shows the structure of the header at an NNI interface (Network-to-Network Interface) of the ATM network that is an interface between two ATM nodes, either inside the network or between two different networks. The most significant part of the header for the present invention is a routing field that comprises a virtual path identifier VPI and a virtual channel identifier VCI.
In the header structure of FIG. 1b, which is used only at a subscriber interface, 24 bits in all are reserved for the routing field (VPI/VCI). In the header structure of FIG. 1c, which is used anywhere else in the ATM network, 28 bits are reserved for the routing field (VPI/VCI). As the name suggests, the routing field is the basis for the routing of cells in the ATM network. The inner parts of the network primarily use the virtual path identifier VPI which, in practice, often defines to which physical connection a cell is to be routed. On the other hand, the virtual channel identifier VCI is used in routing only at the boundary of the network, for example when connecting FR connections (FR=Frame Relay) to the ATM network.
However, it is to be noted that only the VPI and VCI together define the route of the cell unambiguously.
Other fields in the header of the ATM cell defined by the specifications are
GFC (Generic Flow Control), a field intended for traffic control at a subscriber interface, not yet exactly defined, PA1 PT (Payload Type), primarily used for distinguishing between the administrative cells of the network and the information cells of the subscribers but part of the field can possibly be used for transmitting virtual-path-specific and virtual-channel-specific congestion notices, PA1 CLP (Cell Loss Priority) is used for prioritizing cells in relation to the discard probability (which closely corresponds to the DE bit of the Frame Relay network), PA1 HEC (Header Error Control), the check sum of the header.
Of these other fields, the present invention is solely concerned with the CLP bit, by means of which cells can be prioritized in relation to the probability of loss. In practice, this field has two different meanings. Primarily, applications can distinguish cells with a CLP bit with regard to how important their throughput is for the application (Service Oriented Marking). On the other hand, the CLP bit can be set by the network on those cells that exceed the traffic sold to the subscriber. In this case it is a question of usage parameter control (UPC).
The use of the CLP bit closely corresponds to the use of the DE bit in the Frame Relay network. However, the biggest difference is that in the ATM network, applications also make use of the possibility provided by the CLP bit for prioritizing cells. This is an especially common practice for video coders and generally, transmission sources with a variable bit rate (VBR). In coders, the CLP bit is not set on the cells of significance for the whole, whereas on other cells it is set.
Also, the response of the network to the cells, on which the CLP bit is set, corresponds to a great degree to the way the FR network reacts to the frames on which the DE bit is set. In congestion situations of the network, when the fill rates of the buffers increase, primarily only those cells are discarded on which the CLP bit has been set.
The ATM cell will not be described any further in this connection. The cell and its operation have been described in the CCITT standard I.361 (reference 1!, in the list of references provided at the end of this specification) which is referred to for a more exact description. A more exact description of the ATM technique can be obtained in references 1! and 2!, for example.
In an ATM network operating merely in compliance with the specifications, traffic is not prioritized in any other way but by discarding cells on the basis of the CLP bit. The cells are buffered in nodes in common buffers that operate on the FIFO principle. Thus, the traffic source cannot be taken into account at all, which means that a short delay, for example, cannot be granted to subscribers requiring it. Neither is the use of the CLP bit in prioritizing the discarding of cells very efficient, as only the incoming cells to the buffer can be discarded, without paying any attention to the cells already in the buffer.
In the past few years, different kinds of methods based on service class type of solutions have been developed for prioritizing traffic. The developed solutions have primarily been based on the use of the CLP bit. As was mentioned earlier, this bit is used for two different purposes, which makes its use in prioritizing cells often inappropriate.
In one of the most general methods (a so-called Push-out Scheme), a common buffer is used, in the filling of which the service class the cell belongs to is taken into account. In practice, the operation can be based on two classes only (notified by the CLP bit). One cell of a lower service class is always discarded from a full buffer when a cell of an upper service class is received. A buffer that is not full is filled in the normal FIFO way. By prioritizing the cells significant for the applications, it is ensured that cell throughput probability will be relatively high with a short delay. The problem of the method is that it is difficult to implement, especially in hardware implementations, because of which the processing time of cells in the buffers increases. A further problem is that, in practice, the method does not operate as it does in the case of two classes. The discarding of cells specifically for each class from the buffer will, in practice, be impossible with a greater number of classes. The principle of the method is shown in FIG. 2, in which reference signs IN.sub.0 and IN.sub.1 indicate the incoming of cells of the lower and of the upper class, respectively, and reference signs DEL.sub.0 and DEL.sub.1 the corresponding deletions. Reference sign S indicates a buffer length and reference sign G, a server reading in the buffer. The cells of the upper class are discarded in this method only when the buffer is filled with cells of the upper class only.
A method, Partial Buffer Sharing, PBS, which is easier to implement, has been developed from the one described above. This method utilizes a partial sharing of the buffering capacity. This method is illustrated in FIG. 3 in which the same reference numerals are used as in FIG. 2. The bases of sharing are two (to be notified by a CLP bit) service classes, the primary difference between which is their attitude towards delay. The largest part of the buffer (which part is indicated in the figure by reference sign S.sub.0) is used as a normal FIFO buffer. The remaining part of the buffer, S-S.sub.0, is used only for buffering cells with a higher class priority. This means that no mechanism is needed for discarding cells in the buffer, and implementation becomes simpler than in the push-out method described above. The greatest shortcoming of this method is that bursts on a lower service level may cause the discarding of rather a great number of cells of a higher service level. Many of the same problems as in the conventional FIFO method still remain in this method. Prioritization provided specifically for each class is impossible without complicated buffer-handling methods. Furthermore, even in this case, the implementation of more than two classes is in practice impossible.
In addition to these two prioritizing methods, a method (not illustrated) based on so-called route separation has been disclosed. In this method, cells belonging to different service classes are routed via different routes. In each connection, only traffic of one service class passes inside the network. A drawback of this method is that the service class division applies to the whole network, which causes problems with dimensioning. The prioritization of cells cannot be performed specifically for each node, for example, because cells of another service class pass through a different node.
The disadvantages described above have been successfully eliminated in the newest arrangements in which cells are transmitted through service-class-specific buffers so that each cell is temporarily stored in the buffer corresponding to the service class of the cell in question. For example, in European Patent Application 596,624 there is a description of such a network in which traffic is classified into different service classes on the basis of the virtual channel identifier VCI. A good service level is provided by such an arrangement in which traffic is divided by fine division into different types, but it makes the node (and the network) complicated at the same time. The arrangement also means that the network cannot make use of the nodes that perform switching only on the virtual path level. (By means of the concept of the virtual path, a large number of connections can be gathered into one bundle which can be handled as one connection. Because of this, it is possible to build into trunk nodes a virtual path network, in which the nodes handle only the virtual path identifier. In this manner, the nodes will be essentially simpler (the processing of the header will become lighter and the switching time shorter). Thus, it is necessary to handle the virtual channel identifier, at the most, in the node nearest to the receiver).